Frequency, phase, and gain estimation technique for use in a read channel receiver of a hard disk drive

ABSTRACT

One or more methods and systems are presented for performing gain and timing acquisition of data read from one or more data sectors of a hard disk drive. The gain and timing information may be used to synchronize a read channel receiver of the hard disk drive to the data read from the data sector(s). In a representative embodiment, the one or more methods comprises determining one or more frequency and phase offsets using one or more preambles of one or more data sectors residing in a hard disk drive. In a representative embodiment, the gain of the one or more preambles may be determined. In another representative embodiment, the one or more systems used to determine one or more phase and frequency offsets, and amplitudes, comprise hardware and/or software capable of utilizing a sequence of consecutive samples provided by one or more preambles of one or more data sectors.

RELATED APPLICATIONS/INCORPORATION BY REFERENCE

[Not Applicable]

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

[Not Applicable]

MICROFICHE/COPYRIGHT REFERENCE

[Not Applicable]

BACKGROUND OF THE INVENTION

When data is read from a hard disk drive, the read channel must be adequately synchronized so that it may correctly read the data stored in the hard disk drive. In addition, the receiver gain must be adjusted in order to properly read the data. The presence of noise may significantly affect the ability of the data to be properly read when inadequate gain control and timing recovery mechanisms are implemented. In such an instance, the performance of the hard disk drive may be significantly affected.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

Various aspects of the invention provide for one or more methods and systems for acquiring gain and timing information from one or more preambles of one or more data sectors of a hard disk drive. The gain and timing information is used to optimize performance of the read channel receiver as it reads data stored in the hard disk drive.

In a representative embodiment, a method of synchronizing a read channel of a hard disk drive, in reference to data that is read by the read channel, comprises first generating two or more preliminary phase estimates based on one or more preambles of one or more data sectors in the hard disk drive, second generating a frequency offset and a phase offset by applying linear regression to the two or more preliminary phase estimates, and using the frequency offset and the phase offset to perform the synchronizing.

In a representative embodiment, a method of determining a frequency offset and phase offset associated with reading data from a data sector of a hard disk drive comprises first generating one or more consecutive samples obtained from a preamble of the data sector of the hard disk drive, second generating two or more preliminary phase estimates using the one or more consecutive samples, applying linear regression techniques using the two or more preliminary phase estimates, and computing the frequency offset and the phase offset using one or more registers.

In a representative embodiment, a method of determining a frequency offset and a phase offset during reading of a data sector of a hard disk drive comprises determining sine and cosine projections using a number of consecutive samples obtained from a preamble of the data sector of the hard disk drive, using the sine and cosine projections to generate two or more preliminary phase estimates, and using linear regression to generate the frequency offset and the phase offset using the two or more preliminary phase estimates.

In a representative embodiment, a method of estimating the gain or amplitude of a data stream read by a read channel receiver of a hard disk drive comprises determining one or more sine and cosine projections of a number of consecutive samples of one or more preambles of one or more data sectors in the hard disk drive.

In a representative embodiment, a system for synchronizing a read channel of a hard disk drive comprises a first circuitry and/or software used to compute preliminary phase offset estimates using a sequence of consecutive data samples obtained by sampling a preamble of a data sector of the hard disk drive, and a second circuitry used to compute frequency and phase offsets using two or more of the preliminary phase offset estimates.

In a representative embodiment, a system for determining gain or amplitude of a data stream that is read from a data sector of a hard disk drive comprises a first circuitry and/or software used to compute sine and cosine projections of a sequence of consecutive samples. In this representative embodiment, the sequence is obtained from sampling a preamble of the data sector wherein the sampling occurring at fixed time intervals.

These and other advantages, aspects, and novel features of the present invention, as well as details of illustrated embodiments thereof will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an organizational structure of a sector of data that is read by a read channel receiver in a hard disk drive, in accordance with an embodiment of the invention.

FIG. 2 illustrates a block diagram of a system in a read channel receiver of a hard disk drive, used to determine gain, frequency offset, and phase offset, in reference to a data stream, in accordance with an embodiment of the invention.

FIG. 3 is a block diagram of a subsystem, in a read channel receiver or a hard disk drive, that computes estimates of the preliminary phase offset and gain, for one or more sets of consecutive preamble samples, in accordance with an embodiment of the invention.

FIG. 4 is a block diagram of a subsystem of a read channel receiver that computes frequency and phase offsets used to synchronize the read channel receiver of a magnetic hard disk drive, in accordance with an embodiment of the invention.

FIG. 5 is an operational flow diagram illustrating a method of generating frequency offset, phase offset, and gain (or amplitude) of a data stream read by a read channel receiver of a hard disk drive, in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Aspects of the invention provide for one or more methods and systems for acquiring gain and timing information from one or more preambles of one or more data sectors of a hard disk drive. The gain and timing information is used to optimize performance of the read channel receiver as it reads data stored in the hard disk drive. Aspects of the one or more methods and systems improves the performance of a hard disk drive. The performance is improved by implementing an improved system and method of acquiring timing and gain information/parameters by the read channel receiver of the hard disk drive. Aspects of the invention employ one or more systems and methods of determining the frequency and phase offsets of a hard disk drive read channel, used for timing and gain acquisition in the read channel receiver. The one or more systems and methods utilize the data provided by each preamble of a data sector in a hard disk drive. The frequency and phase offsets are used to more accurately synchronize the read channel to the data stream being read. In addition, aspects of the invention provide an estimate of the amplitude or gain of the read data stream. In a representative embodiment, use of various aspects of the invention allow a reduction in the number of bytes used in one or more preambles of one or more sectors of data, thereby improving performance and the storage capacity of the hard disk drive.

FIG. 1 is a block diagram of an organizational structure of a sector of data that is read by a read channel receiver in a hard disk drive, in accordance with an embodiment of the invention. As illustrated, the sector comprises one or more sections. The one or more sections comprises a preamble field 104, a first sync field 108, a first data stream field 112, a second sync field 116, a second data stream field 120, and a post-amble field 124. The preamble field 104 may comprise one or more bytes that are used for timing recovery or synchronization of the following one or more data streams. The one or more data streams are read by the read channel receiver. Typically, the preamble field 104 comprises 15 bytes. In a representative embodiment of the invention, the preamble field 104 comprises less than 15 bytes. In a representative embodiment of the invention, the preamble field 104, used to synchronize to the data stream, comprises 6 bytes. Aspects of the invention provide a reduction in the number of bytes utilized in each of the preambles of each of the preamble fields 104 of each sector so as to increase the overall data storage capacity of the magnetic hard disk drive. In a typical implementation, a byte of the preamble comprises the sequence of bits “11001100”, corresponding to a sinewave. The byte represents two periods of the sinewave. The first sync field 108 contains one or more bytes that notifies the read channel receiver or other circuitry that data immediately follows. The first data stream field 112 contains a first stream of data bytes that is read by the magnetic hard disk drive. In this representative embodiment, the first data stream field 112 is followed by a second sync field 116. The second sync field 116 is used to notify or indicate the start of another section of data. The second data stream field 120 contains a second stream of data bytes. The second data stream field 120 is followed by a post-amble field 124 used to indicate that the end of the one or more data streams has been reached for the sector.

FIG. 2 illustrates a block diagram of a system in a read channel receiver of a hard disk drive, used to determine gain, frequency offset, and phase offset, in reference to a data stream, in accordance with an embodiment of the invention. The system comprises a processing/conditioning subsystem 202, phase and gain computational subsystem 204, and a frequency and phase offset computational subsystem 208. One or more preamble samples are provided by a read magnetic head (or transducer head) of the read channel receiver, after being digitized. Typically, the read magnetic head outputs a sinusoidal signal when the magnetic disk media is read. The sinusoidal signal is output to the processing/conditioning subsystem 202, which may comprise the following sequence of components; a preamplifier, an analog processing and/or conditioning circuitry, an analog to digital converter, and a digital processing and/or conditioning circuitry. The processing/conditioning subsystem 202 may receive the sinusoidal signal output by the read magnetic head so as to process, condition, and sample the sinusoidal signal into digitized samples for input into the phase and gain computational subsystem 204. The sequence of digitized samples may be represented by the following equation:

y(k)=a·sin 2π[(f ₀ +Δf)k+θ ₀ ]+n ₀(k),|Δf ₀|>>  (1)

In equation (1), the variable, a, represents amplitude, f₀ represents an a priori known center frequency, k represents integer variable that indexes the one or more digital samples provided to the phase and gain computational subsystem 204, while n₀ represents noise. We assume that f₀=1/N where N is an integer divisible by 4. Aspects of the invention provide for at least a system and a method of estimating the phase offset, θ₀ and the frequency offset Δf, by way of determining {circumflex over (θ)}₀, the estimate of the phase offset, and Δ{acute over (f)}, the estimate of the frequency offset.

Aspects of the invention utilize a sequence of digitized samples, represented by equation (1), that are input into the phase and gain computational subsystem 204. In a representative embodiment, N=4, or the number of samples in one period equals four digitized samples, (e.g., the bits 1100) corresponding to one period of the sinewave previously mentioned in reference to FIG. 2. In a representative embodiment, the number of digitized samples utilized by the phase and gain computational subsystem 204 comprises 8 samples, which is the number of samples contained in 2 periods of the previously mentioned sinusoidal signal. Hence, in this representative embodiment, the number of digitized samples utilized in generating a phase and/or gain estimate comprises M*N=8 digitized samples. Although aspects of the invention do not limit the number of bits used to generate the digitized samples, in a representative embodiment, 6 bits are used to generate the digitized samples. As a consequence, the one or more values provided by each of the digitized samples has 6 bits of resolution, allowing its values to vary from −32 to +31.

FIG. 3 is a block diagram of a subsystem, in a read channel receiver or a hard disk drive, that computes estimates of the preliminary phase offset and gain, for one or more sets of consecutive preamble samples, in accordance with an embodiment of the invention. The phase and gain computational subsystem, shown in FIG. 3, computes the preliminary phase offset and gain estimates by determining the sine and cosine projections using one or more digitized preamble samples. The phase and gain computational subsystem comprises a sine component (or projection) processing hardware/software 304, a cosine component processing hardware/software 308, a memory 312, and a gain computation hardware/software 316. The sine component processing hardware/software 304 and the cosine component processing hardware/software 308 each provide a projection of the exemplary eight samples, provided by y(k), either in the sine direction or the cosine direction. The sine component processing hardware/software 304 and the cosine component processing hardware/software 308 may each comprise a processor, such as a central processing unit, used to execute commands and/or perform digital computations. The sine component processing hardware/software 304 and the cosine component processing hardware/software 308 may each comprise any logic circuitry and/or set of executable instructions recognized by the processor, which is capable of computing its respective sine or cosine components (or projections). The set of executable instructions may be stored within the memory 312. In a representative embodiment, the logic circuitry and/or software computes the preliminary phase offset estimate by applying an equation (to be introduced as equation (6), later in this document), that utilizes the outputs provided by the sine component processing hardware/software 304 and cosine component processing hardware/software 308. In a representative embodiment, the memory 312 serves as a look up table in which the sine and cosine projections, computed by the sine component processing hardware/software 304 and cosine component processing hardware/software 308, may be appropriately mapped into a preliminary phase offset estimate, to be used by the frequency and phase offset computational subsystem, later shown in FIG. 4. The memory 312 may comprise a random operating memory or a non-volatile memory. It is contemplated that the memory 312 may comprise any circuitry capable of storing data in which one or more values may be appropriately indexed and/or mapped. The gain computation hardware/software 316 may comprise any logic circuitry and/or set of executable instructions (i.e., software) recognized by the processor, which is capable of computing the gain estimate. In a representative embodiment, the logic circuitry and/or software computes the gain estimate by applying an equation (to be introduced as equation (6), later in this document), that utilizes the outputs provided by the sine component processing hardware/software 304 and cosine component processing hardware/software 308. In a representative embodiment, the sine projection may be represented by the following set of equations.

$\begin{matrix} \begin{matrix} {{P_{\sin}(k)} \equiv {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{y\left( {k + i} \right)} \cdot \sin}\; 2\; {\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {= {{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{a \cdot \sin^{2}}2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}\cos \; 2\; {\pi \begin{pmatrix} {{\Delta \; f\left( {k + i} \right)} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}}}} +}} \\ {{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{a \cdot}}}} \\ {{{\cos \; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}\sin \; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}\sin \; 2\; {\pi \begin{pmatrix} {{\Delta \; f\left( {k + i} \right)} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}} +}} \\ {{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + i} \right)} \cdot \sin}\; 2\; {\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {= {\left\{ {{{\frac{{2\; a}\;}{MN}\left\lbrack {\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{\sin^{2}2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}}} \right\rbrack}\cos \; 2\; {\pi \begin{pmatrix} {{\Delta \; {fk}} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}} + {n_{1}(k)}} \right\} +}} \\ {\left\{ {\frac{{2\; a}\;}{MN}\left\lbrack {\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{\cos \; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}\sin \; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}}} \right\rbrack} \right.} \\ {\left. {{\sin \; 2\; {\pi \begin{pmatrix} {{\Delta \; {fk}} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}} + {n_{2}(k)}} \right\} +} \\ {{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + i} \right)} \cdot \sin}\; 2\; {\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {= {{a\; \cos \; 2\; {\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}} + {n_{1}(k)} + {n_{2}(k)} + {n_{3}(k)}}} \end{matrix} & (2) \end{matrix}$

Equation (2) is obtained by substituting equation (1) into P_(sin)(k), for y(k). Equation (1) may be easily represented by the following equation:

${y(k)} = {{{a \cdot \sin}\; 2\; {\pi \left( {\frac{k}{N} + \frac{1}{8}} \right)}\cos \; 2\; {\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}} + {{a \cdot \cos}\; 2\; {\pi \left( {\frac{k}{N} + \frac{1}{8}} \right)}\sin \; 2\; {\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}} + {n_{0}(k)}}$

For each k≧MN/2-1, M*N consecutive samples may be used to generate P_(sin)(k), using {y(k−MN/2+1), . . . , y(k+MN/2)}. The variables n₁, n₂, n₃ denote various noise components, resulting from white noise or the offset in frequency. Similarly, the cosine projection may be represented by the following set of equations:

$\begin{matrix} \begin{matrix} {{P_{\cos}(k)} \equiv {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{y\left( {k + i} \right)} \cdot \cos}\; 2\; {\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {= {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{a \cdot \sin}\; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}\cos \; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}}}}} \\ {{{\cos \; 2\; {\pi \begin{pmatrix} {{\Delta \; f\left( {k + i} \right)} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}} +}} \\ {{{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{a \cdot \cos^{2}}2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}\sin \; 2\; {\pi \begin{pmatrix} {{\Delta \; f\left( {k + i} \right)} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}}}} +}} \\ {{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + i} \right)} \cdot \cos}\; 2\; {\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {= \left\{ {\frac{{2\; a}\;}{MN}\left\lbrack {\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{\sin \; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}\cos \; 2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}}} \right\rbrack} \right.} \\ {\left. {{\cos \; 2\; {\pi \begin{pmatrix} {{\Delta \; {fk}} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}} + {n_{5}(k)}} \right\} +} \\ {{\left\{ {{{\frac{{2\; a}\;}{MN}\left\lbrack {\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{\cos^{2}2\; {\pi \begin{pmatrix} {\frac{k + i}{N} +} \\ \frac{1}{8} \end{pmatrix}}}} \right\rbrack}\; \sin \; 2\; {\pi \begin{pmatrix} {{\Delta \; {fk}} +} \\ {\theta_{0} - \frac{1}{8}} \end{pmatrix}}} + {n_{6}(k)}} \right\} +}} \\ {{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + i} \right)} \cdot \cos}\; 2\; {\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {= {{a\; \sin \; 2\; {\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}} + {n_{5}(k)} + {n_{6}(k)} + {n_{7}(k)}}} \end{matrix} & (3) \end{matrix}$

Again, equation (3) is obtained by substituting equation (1) into P_(cos)(k), for y(k). The variables n₅, n₆, n₇ denote various noise components, resulting from white noise or the offset in frequency.

The phase estimate may be determined for the kth sample, where the

phase at the kth sample is given by

${{\varphi (k)} = {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}}},$

using the following equation:

$\begin{matrix} {{Q(k)} \equiv \frac{P_{\cos}(k)}{P_{\sin}(k)} \approx \frac{{a\; \sin \; 2\pi \; {\varphi (k)}} + {n_{7}(k)}}{{a\; \cos \; 2\pi \; {\varphi (k)}} + {n_{3}(k)}} \equiv {{\tan \; 2{{\pi\varphi}(k)}} + {n_{Q}(k)}}} & (4) \end{matrix}$

The phase estimate may be found by taking the arctangent of Q(k), and may be represented by the following equation:

$\begin{matrix} {{{\hat{\varphi}(k)} \equiv {\frac{1}{2\pi}{arc}\; \tan \; {Q(k)}}} = {{\varphi (k)} + {n_{\varphi}(k)}}} & (5) \end{matrix}$

In practice, one may use a look-up table to calculate the arctangent function, using the memory, as shown in FIG. 3. The variables n_(Q)(k) and n_(φ)(k) represent noise in each of equations (4) and (5).

In order to properly equalize the read channel, it may be necessary to determine one or more gain estimates or amplitude estimates using the preamble of the incoming digital samples. Aspects of the invention allow computation of a gain estimate by taking the square root of the sum of squares of the sine and cosine projections. The sine and cosine projections (or components) are referenced using equations (2) and (3). This may be represented by the following equation:

ã(k)≡√{square root over (P _(sin)(k)² +P _(cos)(k)²)}{square root over (P _(sin)(k)² +P _(cos)(k)²)}a+cos 2πφ(k)n ₇(k)+sin 2πφ(k)n ₃(k)  (6)

As shown in equation (6), the amplitude or gain is found by calculating the square root of the sum of the squares of the sine and cosine projections.

FIG. 4 is a block diagram of a subsystem of a read channel receiver that computes frequency and phase offsets used to synchronize the read channel receiver of a magnetic hard disk drive, in accordance with an embodiment of the invention. The frequency and phase computational subsystem, shown in FIG. 4, comprises a first accumulator 404, a second accumulator 412, a counter 424 for the integer variable, k, which indexes the one or more preliminary phase offset estimates that are input, a first multiplier 428, a second multiplier 432, a third multiplier 436, a fourth multiplier 440, a fifth multiplier 444, a phase offset adder 448, and a frequency offset adder 452. The first accumulator 404 comprises a first accumulator adder 412 and a first register 408 while the second accumulator 412 comprises a second accumulator adder 420 and a second register 416. The first accumulator 404 accumulates (or provides a cumulative sum of) preliminary phase offset estimates provided by the phase and gain computational subsystem. The second accumulator 412 accumulates successive terms and functionally operates similar to that of the first accumulator 404. The two factors that generate the successive terms (product of two factors) comprise a count of the counter 424 and its associated preliminary phase offset estimate. Of course, the first adder 412 within the first accumulator 404 adds the preliminary phase offset estimate to the accumulated value stored in the first register 408. Likewise, the second adder 416 within the second accumulator 412 adds the terms (associated with the product of the preliminary phase offset estimate and the count) to the accumulated value stored in the second register 416. The values stored in the accumulators 404, 412 are used to compute the frequency and phase offsets. The frequency offset is computed by summing two products, a first product and a second product. The first product is obtained by multiplying the value in the first accumulator 404 with β(L) while the second product is obtained by multiplying the value in the second accumulator 412 with α(L). The phase offset is computed by summing two products (a third product and a fourth product) and a constant. The third product is obtained by multiplying the value in the first accumulator 404 with δ(L) while the fourth product is obtained by multiplying the value in the second accumulator 412 with γ(L). The third product, fourth product, and a constant (⅛ in this representative embodiment) are added to generate the phase offset. The aforementioned counter, adders, multipliers, and registers may be implemented using digital logic circuitry.

Aspects of the invention comprise utilizing a linear regression technique for determining the phase and frequency offsets of a read channel in a read channel receiver. The technique is employed in implementing the embodiment illustrated in FIG. 4. The objective of the linear regression technique is to find ξ and ζ using a linear regression equation, such as y_(k)≈ξx_(k)+ζ for all k, given the set of points with coordinates x=(x₁, x₂, . . . , x_(L))⁷ and y=(y₁, y₂, . . . , y_(L))^(T). More precisely, the variables, ξ and ζ are found that minimizes the L-2 norm of the error. The error may be written in vector form as F(ξ,ζ)=∥y−ξx−ζ∥²=(y−ξx−ζ)^(T)(y−ξx−ζ). The function F(ξ,ζ) is a quadratic function in ξ and ζ so to find the minimum it is sufficient to take the partial derivatives and set them to zero. The partial derivatives of F(ξ,ζ) with respect to ξ and ζ are as follows;

$\frac{\partial F}{\partial\xi} = {{- 2}\; {x^{7}\left( {y - {\xi \; x} - \zeta} \right)}}$ $\frac{\partial F}{\partial\zeta} = {{- 2}\; {I_{1 \times L}\left( {y - {\xi \; x} - \zeta} \right)}}$

The resulting equations after setting the partial derivatives to zero are as follows:

${\frac{\partial F}{\partial\xi} = {{{- 2}\; {x^{7}\left( {y - {\xi \; x} - \zeta} \right)}} = 0}},{\frac{\partial F}{\partial\zeta} = {{{- 2}\; {I_{1 \times L}\left( {y - {\xi \; x} - \zeta} \right)}} = 0}}$

The equations may be re-written as follows:

$\begin{matrix} \left\{ {\begin{matrix} {{{x^{T}y} - {\left( {x^{T}x} \right)\xi} - {\left( {x^{T}I_{L \times 1}} \right)\zeta}} = 0} \\ {{{I_{1 \times L}y} - {\left( {I_{1 \times L}x} \right)\xi} - {\left( {I_{1 \times L}I_{L \times 1}} \right)\zeta}} = 0} \end{matrix}{where}\mspace{14mu} I_{1 \times L}\mspace{14mu} {denotes}\mspace{14mu} a\mspace{14mu} 1\mspace{14mu} {by}\mspace{14mu} L}\; \right. & (7) \end{matrix}$

vector of all ones. The equations, after rearranging, may be re-written in matrix form as follows:

$\begin{matrix} {\begin{pmatrix} \xi \\ \zeta \end{pmatrix} = {\begin{pmatrix} {x^{T}x} & {x^{T}I_{L \times 1}} \\ {I_{1 \times L}x} & L \end{pmatrix}^{- 1}\begin{pmatrix} {x^{T}y} \\ {I_{1 \times L}y} \end{pmatrix}}} & (8) \end{matrix}$

In a representative embodiment, the vector x comprises sampling times. In a representative embodiment, the sampling times comprises fixed sampling intervals. Hence, for example, the vector x may comprise x=(1, . . . , L)^(T), where L corresponds to the number of samples used in the linear regression technique (i.e., number of preliminary phase estimates used to compute a frequency offset and a phase offset). The inverse of the matrix shown in equation (8) only depends on the variable, L, and does not depend on y, and as a result, may be determined in advance. The terms within the invertible 2×2 matrix of equation (8) may be represented by the following equation:

$\begin{matrix} {\begin{pmatrix} \xi \\ \zeta \end{pmatrix} = {\begin{pmatrix} {\alpha (L)} & {\beta (L)} \\ {\gamma (L)} & {\delta (L)} \end{pmatrix}\begin{pmatrix} {x^{T}y} \\ {I_{1 \times L}y} \end{pmatrix}}} & (9) \end{matrix}$

As shown in equation (9), the terms in the 2×2 matrix of equation (9), α(L), β(L), γ(L), and ξ(L), are all functions of the predetermined variable L. These terms may be obtained by inverting the 2×2 matrix shown in equation (8). The 2×1 matrix,

$\begin{pmatrix} {x^{T}y} \\ {I_{1 \times L}y} \end{pmatrix},$

of equation (9) may be implemented using two registers, as shown in equations (10a) and (10b).

R _(xy)(k)=R _(xy)(k−1)+ky _(k),  (10a)

R _(y)(k)=R _(y)(k−1)+y _(k)  (10b)

This leads to a simple implementation for determining ξ and ζ, when R_(xy) and R_(y) are substituted into

$\begin{pmatrix} {x^{T}y} \\ {I_{1 \times L}y} \end{pmatrix}.$

In this representative embodiment, the two registers, R_(xy) and R_(y) are substituted into the matrix equation (9). The matrix equation (9) may be expanded into the following two equations (11a) and (11b):

ξ=αR _(xy) +βR _(y),  (11a)

ζ=γR _(xy) +δR _(y)  (11b)

Recalling that

${{\varphi (k)} = {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}}},$

one may apply the aforementioned linear regression equation, y_(k)≈ξx_(k)+ζ for all k, to solve for Δf and θ₀. Using equations (10a) and (10b), and applying the sequence of preliminary phase offset estimates {circumflex over (φ)}(1),{circumflex over (φ)}(2), . . . , {circumflex over (φ)}(L) provided by the phase and gain computational circuitry, the following equations are obtained, in which Δ{circumflex over (f)}(L) corresponds to the frequency offset while {circumflex over (θ)}₀(L) corresponds to the phase offset.

R _(xy)(k)=R _(xy)(k−1)+k{circumflex over (φ)}(k)  (12a)

R _(y)(k)=R _(y)(k−1)+{circumflex over (φ)}(k)  (12b)

$\begin{matrix} {{\Delta \; {\hat{f}(k)}} = {{{\alpha (k)}R_{xy}} + {{\beta (k)}R_{y}}}} & \left( {13a} \right) \\ {{{\hat{\theta}}_{0}(k)} = {\frac{1}{8} + {{\gamma (k)}R_{xy}} + {{\delta (k)}R_{y}}}} & \left( {13b} \right) \end{matrix}$ R _(xy)(0)=0,R _(y),(0)=0  (14)

In this representative embodiment, the equations may be used to implement a system that allows one to determine the values for Δ{circumflex over (f)}(k) and {circumflex over (θ)}₀(k) (mathematical terminology representing the estimates for the frequency and phase offsets, respectively) for any value of k={1, 2, 3, . . . , L}. As a consequence, the embodiment provides an implementation that adjusts to a maximum number of digital samples, L, as one or more preambles of one or more disk sectors are input into the read channel of a magnetic hard disk drive.

Equations (12a) and (12b) represent the implementation of the first portion of FIG. 4 while equations (13a) and (13b) represent the implementation of the second portion of FIG. 4. Equations (14a) and (14b) indicate that the registers, R_(xy) and R_(y) used to implement the embodiment shown in FIG. 4, are initialized with value 0 when k=0.

FIG. 5 is an operational flow diagram illustrating a method of generating frequency offset, phase offset, and gain (or amplitude) of a data stream read from data stored in a data sector, by a read channel receiver of a hard disk drive, in accordance with an embodiment of the invention. At step 504, a preamble is read from the data sector of one or more data sectors in a hard disk drive. The one or more bytes contained within the preamble is used to generate the frequency offset, phase offset, and gain of the data stream. In a representative embodiment, the number of bytes used in the preamble is less than the typical number of bytes used—15 bytes After processing and conditioning is performed on the sinusoidal output generated by the read channel receiver in the hard disk drive, a sequence of digitized samples is provided to the phase and gain computational subsystem. As was referenced in the embodiment of FIG. 2, a processing/conditioning circuitry performs the processing and conditioning. The sequence of digitized samples comprises the latest fixed number of digitized samples. At step 506, the last fixed number of digitized samples is provided to the phase and gain computational subsystem In a representative embodiment, this fixed number, x, comprises the number of samples used to determine the sine and cosine projections using the phase and gain computational subsystem. In a representative embodiment, the value for the fixed number, x, is 8. This fixed number may be programmed by a user, prior to performing the computations provided by the phase and gain computational subsystem. At step 508, the phase and gain computational subsystem determines the sine and cosine projections (or sine and cosine components) based on the sequence of digitized samples provided Equations (2) and (3) are used to compute these projections. At step 512, Q(k) the quotient is computed for P cos(k)/P sin(k). At step 516, a look-up table (implemented in memory, for example) is used to determine the arctangent of Q(k), Φ(κ). At step 520, the gain or amplitude is output by the phase and gain computational subsystem, for use by the hard disk drive. At step 524, the phase and gain computational subsystem outputs Φ(κ) (preliminary phase offset estimates) into the frequency and phase computational subsystem, in which, the processing described in reference to FIG. 4, is accomplished. Finally, at step 528, the frequency and phase computational subsystem outputs the phase and frequency offsets associated with the sequence of samples provided to the frequency and phase computational subsystem. Next, at step 530, an assessment is made whether the last sample has been generated by the preamble. If the end of the preamble of the data sector has been sampled, then the process ends for this particular data sector. Thereafter, a new data sector may be read, if necessary, which contains another preamble. If a new data sector is read, then the process commences with another cycle, starting at step 504. Otherwise, the process resumes with step 532, at which, the next digitized sample is introduced at the next sample clock, using the remaining un-sampled preamble data. Then, the process repeats itself at step 504, when a new sequence of digitized samples is introduced to the phase and gain computational subsystem. In this exemplary embodiment, 7 of the previous 8 samples are used in the next sequence of samples. The 7 previously used samples are shifted by one sample clock, so as to accommodate the latest new sample.

In one or more embodiments, additional performance improvements may be obtained by utilizing knowledge of noise statistics and applying this to the noise variables previously used in the preceding equations. The performance improvements rely on an analysis of the noise variables n₁, n₂, n₃, n₅, n₆, and n₇ used in equations (2) and (3). For example, Bayesian Linear Regression may be employed when a priori knowledge of the frequency offset distribution is used. In another example, Colored Noise Linear Regression may be employed when noise correlation is taken into account while performing a linear regression.

The following set of equations provides a description of the noise variables, n₁ and n₂, in reference to equation (2) previously described.

$\begin{matrix} {{n_{1}(k)} \approx {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{a \cdot \sin^{2}}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {{\left\lbrack {{\cos \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}} - {\sin \; 2{{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)} \cdot 2}{\pi\Delta}\; {fi}}} \right\rbrack -}} \\ {{\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{a \cdot \sin^{2}}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}\cos \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}}}}} \\ {= {\frac{2}{MN}{\left( {{- 2}{\pi\Delta}\; {fa}} \right)\left\lbrack {\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{i \cdot \sin^{2}}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}} \right\rbrack}}} \\ {{\sin \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}}} \\ {= {\frac{2}{MN}\left( {{- 2}{\pi\Delta}\; {fa}} \right){d_{1}(k)}\sin \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}}} \end{matrix}$ $\begin{matrix} {{n_{2}(k)} \approx {\frac{2}{MN}\left( {2\pi \; \Delta \; {fa}} \right)}} \\ {\left\lbrack {\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{i \cdot \cos}\; 2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}\sin \; 2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}} \right\rbrack} \\ {{\cos \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}}} \\ {= {\frac{2}{MN}\left( {2{\pi\Delta}\; {fa}} \right){d_{2}(k)}\cos \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}}} \end{matrix}$

d₁(k) and d₂(k) may be calculated as:

$\begin{matrix} {{d_{1}(k)} = {\frac{2}{MN}\left( {- 1} \right){\sum\limits_{i = {{{- {MN}}/2} + 1}}^{MN}{i \cdot {\frac{1}{2}\left\lbrack {1 - {\cos \; 4{\pi \left( {\frac{k + i}{8} + \frac{1}{8}} \right)}}} \right\rbrack}}}}} \\ {= {{b\; \cos \; 2{\pi \left( {\frac{2k}{N} + \theta_{d}} \right)}} - \frac{1}{2}}} \end{matrix}$ $\begin{matrix} {{d_{2}(k)} = {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{I \cdot \frac{1}{2}}\sin \; 4{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}} \\ {= {b\; \sin \; 2\pi \; \left( {\frac{2k}{N} + \theta_{d}} \right)}} \end{matrix}$

where b and θ_(d) are constant w.r.t. k and almost constant within a range of M and N:

Further, for b(M, N): b(1,4)=b(1,8)=b(2,4)=b(2,8)=½;b(1,16)=b(2,16)≈1.2 Hence,

${{{n_{1}(k)} + {n_{2}(k)}} = {{{- {\pi\Delta}}\; {fa}\; \sin \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}} + {2{\pi\Delta}\; {fab}\; \sin \; 2\; {\pi \left( {{\left( {\frac{2}{N} + {\Delta \; f}} \right)k} + \theta_{d} + \theta_{0} - \frac{1}{8}} \right)}}}},$

which is negligible since Δf<<θ_(n) ₀ ·σ_(n) ₀ is the covariance of n₀(k).

Similarly, the following set of equations provides a description of the noise variables, n₃ and n₄, in relation to equation (3) previously described

${n_{5}(k)} \approx {\frac{2}{MN}2\pi \; \Delta \; {{fad}_{3}(k)}\sin \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}}$ ${n_{6}(k)} = {\frac{2}{MN}2\; {\pi\Delta}\; {{fad}_{4}(k)}\; \cos \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}}$ ${d_{3}(k)} = {{- b}\; \sin \; 2{\pi \left( {\frac{2k}{N} + \theta_{d}} \right)}}$ ${d_{4}(k)} = {{b\; \cos \; 2{\pi \left( {\frac{2k}{N} + \theta_{d}} \right)}} + \frac{1}{2}}$

Hence,

${{n_{5}(k)} + {n_{6}(k)}} = {{{- {\pi\Delta}}\; {fa}\; \cos \; 2{\pi \left( {{\Delta \; {fk}} + \theta_{0} - \frac{1}{8}} \right)}} + {2{\pi\Delta}\; {fab}\; \cos \; 2{\pi \left( {{\left( {\frac{2}{N} + {\Delta \; f}} \right)k} + \theta_{d} + \theta_{0} - \frac{1}{8}} \right)}}}$

is also negligible when Δf<<σ_(n) _(0.)

The following set of equations provides a description of the noise variable n₃:

As previously discussed,

${n_{3}(k)} = {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + i} \right)} \cdot \sin}\; 2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}}$

Assuming n₀ is AWGN (additive white Gaussian noise), then n₃ is zero-mean Gaussian. The correlation matrix of n₃ is as follows:

${{r_{n_{3}}\left( {k,{k - l}} \right)} \equiv {E\left\lbrack {{n_{3}(k)}{n_{3}\left( {k - l} \right)}} \right\rbrack}} = {{E\begin{bmatrix} {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + i} \right)} \cdot \sin}\; 2{{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)} \cdot}}}} \\ {\frac{2}{MN}{\sum\limits_{j = {{{- {MN}}/2} + 1}}^{{MN}/2}{{n_{0}\left( {k + j} \right)} \cdot}}} \\ {\sin \; 2{\pi \left( {\frac{k + j}{N} + \frac{1}{8}} \right)}} \end{bmatrix}} = {{\left( \frac{2}{MN} \right)^{2}{\sigma_{n_{0}}^{2}\left\lbrack {\sum\limits_{\underset{{{{{- {MN}}/2} + 1} \leq j} = {{i + l} \leq {{MN}/2}}}{{{{- {MN}}/2} + 1} \leq i \leq {{MN}/2}}}{\sin^{2}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}} \right\rbrack}} = {{\left( \frac{2}{MN} \right)^{2}{\sigma_{n_{0}}^{2}\begin{bmatrix} {{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{\sin^{2}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}} -} \\ {\sum\limits_{\underset{l < {{0\text{:}} - {{MN}/2} + 1} \leq i \leq {{{- {MN}}/2} + 1}}{l \geq {{0\text{:}{{MN}/2}} - {l} + 1} \leq i \leq {{MN}/2}}}{\sin^{2}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}} \end{bmatrix}}\left( {{l} \leq {{MN} - 1}} \right)} = {{\sigma_{n_{0}}^{2}\begin{bmatrix} {\frac{2}{MN} -} \\ {\left( \frac{2}{MN} \right)^{2}{\sum\limits_{\underset{l < {{0\text{:}} - {{MN}/2} + 1} \leq i \leq {{{- {MN}}/2} + 1}}{l \geq {{0\text{:}{{MN}/2}} - {l} + 1} \leq i \leq {{MN}/2}}}{\sin^{2}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}} \end{bmatrix}}\left( {{l} \leq {{MN} - 1}} \right)}}}}$ r_(n₃)(k, k − l) = 0  (otherwise)

When N=4 as may be found used in one or more embodiments of the present invention, r_(n) ₃ (k,k−1) is constant w.r.t. k.

${r_{n_{3}}\left( {k,{k - l}} \right)} = \left\{ \begin{matrix} {{\sigma_{n_{0}}^{2}\frac{2}{MN}\left( {1 - \frac{l}{MN}} \right)},} & {{l} \leq {{MN} - 1}} \\ {0,} & {{l} \geq {MN}} \end{matrix} \right.$

The correlation function takes a similar form.

$\begin{matrix} {{{Fr}_{n_{3}}\left( {l;L} \right)} \equiv {E\left\lbrack {\frac{1}{L}{\sum\limits_{k = 0}^{L - 1}{{n_{3}(k)}{n_{3}\left( {k - l} \right)}}}} \right\rbrack}} \\ {= {\frac{1}{L}{\sum\limits_{k = 0}^{L - 1}{r_{n_{3}}\left( {k,l} \right)}}}} \\ {= \left\{ \begin{matrix} {{\sigma_{n_{0}}^{2}\begin{bmatrix} {\frac{2}{MN} -} \\ {\left( \frac{2}{MN} \right)^{2}{\sum\limits_{\underset{l < {{0\text{:}} - {{MN}/2} + 1} \leq i \leq {{{- {MN}}/2} + {l}}}{l \geq {{0\text{:}{{MN}/2}} - {l} + 1} \leq i \leq {{MN}/2}}}\left( {\frac{1}{L}{\sum\limits_{k = 0}^{L - 1}{\sin^{2}2{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}} \right)}} \end{bmatrix}},} & {{l} \leq {{MN} - 1}} \\ {0,} & {{l} \leq {MN}} \end{matrix} \right.} \\ {\approx \left\{ \begin{matrix} {{\sigma_{n_{0}}^{2}\begin{bmatrix} {\frac{2}{MN} -} \\ {\left( \frac{2}{MN} \right)^{2}{\sum\limits_{\underset{l < {{0\text{:}} - {{MN}/2} + 1} \leq i \leq {{{- {MN}}/2} + {l}}}{l \geq {{0\text{:}{{MN}/2}} - {l} + 1} \leq i \leq {{MN}/2}}}\left( \frac{1}{2} \right)}} \end{bmatrix}},} & {{l} \leq {{MN} - {1\mspace{11mu} \begin{pmatrix} {{{{iff}\mspace{11mu} L}\operatorname{>>}{N/2}};} \\ {{{{or}\mspace{14mu} L} = {{iN}/2}},{i \in I}} \end{pmatrix}}}} \\ {0,} & {{l} \geq {MN}} \end{matrix} \right.} \\ {= \left\{ \begin{matrix} {{\sigma_{n_{0}}^{2}\frac{2}{MN}\left( {1 - \frac{l}{MN}} \right)},} & {{l} \leq {{MN} - 1}} \\ {0,} & {{l} \geq {MN}} \end{matrix} \right.} \end{matrix}$

The variable, L, comprises the total number of samples provided by the preamble of the data sector. The noise power density spectrum may be obtained by taking the fast Fourier transform of the correlation function as follows:

N ₃(k _(ω))=FFT(Fr _(n) ₃ (l))

It may be shown that

${{\sum\limits_{k_{\omega}}{N_{2}\left( k_{\omega} \right)}} = {{{Fr}_{n_{3}}(0)} = {{\sigma_{n_{0}}^{2}\frac{2}{MN}} \propto \frac{1}{MN}}}},$

which indicates that a reduction in the sine projection noise is proportional to the product M*N. Hence, aspects of the invention may incorporate values for N and M that provide embodiments having significantly reduced projection noise.

Another interesting property is that the dc noise is invariant w.r.t. M*N:

${N_{3}(0)} = {{\sum\limits_{l}{{Fr}_{n_{3}}(l)}} \equiv \sigma_{n_{0}}^{2}}$

As may be expected, the correlation matrix of n₇ in formula (3) is similar to that of n₃:

${r_{n_{7}}\left( {k,{k - l}} \right)} = \left\{ {{{\begin{matrix} {{\sigma_{n_{0}}^{2}\left\lbrack {\frac{2}{MN} - {\left( \frac{2}{MN} \right)^{2}{\sum\limits_{\underset{{l < 0}:{{{{MN}/2} + 1} \leq i \leq {{{- {MN}}/2} + {l}}}}{{l \geq 0}:{{{{MN}/2} - {l} + 1} \leq i \leq {{MN}/2}}}}{\cos^{2}2{\pi \left( {\frac{k + l}{N} + \frac{1}{8}} \right)}}}}} \right\rbrack},} & {{l} \leq {{MN} - 1}} \\ {0,} & {{l} \geq {MN}} \end{matrix}{When}\mspace{14mu} N} = 4},{{{r_{n_{7}}\left( {k,{k - l}} \right)}\mspace{11mu} {is}\mspace{14mu} {constant}\mspace{14mu} {w.r.t.k_{0}^{n}}{r_{n_{7}}\left( {k,{k - l}} \right)}} = \left\{ {\begin{matrix} {{\sigma_{n_{0}}^{2}\frac{2}{MN}\left( {1 - \frac{l}{MN}} \right)},} & {{l} \leq {{MN} - 1}} \\ {0,} & {{l} \geq {MN}} \end{matrix} = {r_{n_{3}}\left( {k,{k - l}} \right)}} \right.}} \right.$

Hence, Fr_(n) ₃ (0)=Fr_(n) ₇ (0)

When performing a preliminary phase offset estimate as indicated by way of equation (4), the noise properties may be derived as follows:

$\left. \frac{\partial{Q(k)}}{\partial{n_{3}(k)}} \right|_{\underset{{P_{\cos}{(k)}} = {a\; \sin \; 2\pi \; {\varphi {(k)}}}}{{P_{\sin}{(k)}} = {a\; \cos \; 2\; \pi \; {\varphi {(k)}}}}} = {- \frac{\sin \; 2{{\pi\varphi}(k)}}{a\; \cos^{2}2{{\pi\varphi}(k)}}}$ $\left. \frac{\partial{Q(k)}}{\partial{n_{7}(k)}} \right|_{\underset{{P_{\cos}{(k)}} = {a\; \sin \; 2\pi \; {\varphi {(k)}}}}{{P_{\sin}{(k)}} = {a\; \cos \; 2\; \pi \; {\varphi {(k)}}}}} = {- \frac{1}{a\; \cos^{2}2{{\pi\varphi}(k)}}}$ ${n_{Q}(k)} = {{{- \frac{\sin \; 2{{\pi\varphi}(k)}}{a\; \cos^{2}2{{\pi\varphi}(k)}}}{n_{3}(k)}} + {\frac{1}{a\; \cos \; 2{{\pi\varphi}(k)}}{n_{7}(k)}}}$

Recall that the preliminary phase offset estimate is given by

${{\hat{\varphi}(k)} \equiv {\frac{1}{2\pi}\arctan \mspace{14mu} {Q(k)}}} = {{\varphi (k)} + {{n_{\varphi}(k)}.}}$

Therefore,

$\begin{matrix} {{n_{\varphi}(k)} \approx {\frac{1}{2\pi}\cos^{2}2{{\pi\varphi}(k)}{n_{Q}(k)}}} \\ {\approx {\frac{1}{2\pi \; a}\left( {{{- \sin}\; 2{{\pi\varphi}(k)}{n_{3}(k)}} + {\cos \; 2{{\pi\varphi}(k)}{n_{7}(k)}}} \right)}} \end{matrix}$

And its correlation matrix is given by:

$\begin{matrix} {{r_{n_{\varphi}}\left( {k,{k - l}} \right)} \equiv {E\left\lfloor {{n_{\varphi}(k)}{n_{\varphi}\left( {k - l} \right)}} \right\rfloor}} \\ {\approx {\left( \frac{1}{2\pi \; a} \right)^{2}\begin{pmatrix} {{\sin \; 2{{\pi\varphi}(k)}\sin \; 2{{\pi\varphi}\left( {k - l} \right)}{r_{n_{3}}\left( {k,{k - l}} \right)}} +} \\ {\cos \; 2{{\pi\varphi}(k)}\cos \; 2{{\pi\varphi}\left( {k - l} \right)}{r_{n_{7}}\left( {k,{k - l}} \right)}} \end{pmatrix}}} \end{matrix}$

In above equation, the near-zero cross-correlation property of n₃ and n₇ is utilized, which may be proven by way of the following equations:

$\begin{matrix} {{{xr}_{n_{3},n_{7}}\left( {k,{k - l}} \right)} \equiv {E\left\lbrack {{n_{3}(k)}{n_{7}\left( {k - l} \right)}} \right\rbrack}} \\ {= {E\left\lbrack {\frac{2}{MN}{\sum\limits_{i = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + i} \right)} \cdot \sin}\; 2{{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)} \cdot \frac{2}{MN}}{\sum\limits_{j = {{{- {MN}}/2} + 1}}^{{MN}/2}{{{n_{0}\left( {k + j} \right)} \cdot \cos}\; 2{\pi \left( {\frac{k + j}{N} + \frac{1}{8}} \right)}}}}}} \right\rbrack}} \\ {= {\left( \frac{2}{MN} \right)^{2}{\sigma_{n_{0}}^{2}\left\lbrack {\sum\limits_{\underset{{{{{- {MN}}/2} + 1} \leq j} = {{i + l} \leq {{MN}/2}}}{{{{- {MN}}/2} + 1} \leq i \leq {{MN}/2}}}{\frac{1}{2}\sin \; 4{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}} \right\rbrack}}} \\ {= \left\{ \begin{matrix} {{\frac{2}{MN}{\sigma_{n_{0}}^{2}\left\lbrack {\frac{1}{MN}{\sum\limits_{\underset{{l < 0}:{{1 - l} \leq i \leq {MN}}}{{l \geq 0}:{1 \leq i \leq {{MN} - l}}}}{\sin \; 4{\pi \left( {\frac{k + i}{N} + \frac{1}{8}} \right)}}}} \right\rbrack}},} & {{{MN} - {N/2}} \leq {l} \leq {{MN} - 1}} \\ {0,} & {{l} \leq {{MN} - 1 - {N/2}}} \end{matrix} \right.} \\ {= \left\{ {\begin{matrix} {{\frac{2}{MN}{\sigma_{n_{0}}^{2}\left( {{- \frac{1}{MN}}\cos \; k\; \pi} \right)}},} & {{l} = {{MN} - 1}} \\ {0,} & {{l} < {{MN} - 1}} \end{matrix}\left( {{{if}\mspace{14mu} N} = 4} \right)} \right.} \\ {\approx 0} \end{matrix}$

Thus, using the cross-correlation of n₃ and n₇ analysis (assuming that N=4, and r_(n) ₃ =r_(n) ₇ the correlation of the noise associated with the preliminary phase offset estimate is given by:

$\begin{matrix} {{r_{n_{\varphi}}\left( {k,{k - l}} \right)} = {\frac{2}{MN}{\sigma_{0}^{2}\left( {1 - \frac{l}{MN}} \right)}\cos \; 2{\pi\Delta}\; {fl}}} \\ {\approx {\frac{2}{MN}{\sigma_{0}^{2}\left( {1 - \frac{l}{MN}} \right)}}} \end{matrix}$ (Λ fl<< 1) ${where},{\sigma_{0} = \frac{\sigma_{n_{0}}}{2\pi \; a}}$

An estimate of the noise level may be based on the following, such that autocorrelation of {tilde over (α)}(k) is zero when the delay is no larger than M*N

$\begin{matrix} \left. {{\hat{\sigma}}_{n_{0}}^{2} \equiv {\frac{MN}{4}\frac{1}{L - {mn}}{\sum\limits_{k = {nm}}^{L - 1}\left( {{\overset{\sim}{a}(k)} - {\overset{\sim}{a}\left( {k - {mn}} \right)}} \right)^{2}}}}\rightarrow{\frac{MN}{4}{E\left\lbrack \left( {{\overset{\sim}{a}(k)} - {\overset{\sim}{a}\left( {k - {mn}} \right)}} \right)^{2} \right\rbrack}} \right. \\ {\approx {\frac{MN}{4}\left\lbrack {{\cos^{2}2{{\pi\varphi}(k)}\sigma_{n_{7}}^{2}} - {\cos^{2}2{{\pi\varphi}\left( {k - {mn}} \right)}\sigma_{n_{7}}^{2}} + {\sin^{2}2{{\pi\varphi}(k)}\sigma_{n_{3}}^{2}} - {\sin^{2}2{{\pi\varphi}\left( {k - {mn}} \right)}\sigma_{n_{3}}^{2}}} \right\rbrack}} \\ {= {\frac{MN}{4}2{\sigma_{n_{3}}^{2}\left( {{{\because N} = {\left. 4\rightarrow\sigma_{n_{3}}^{2} \right. = \sigma_{n_{7}}^{2}}},{or},{\sigma_{n_{3}}^{2} \approx \sigma_{n_{7}}^{2}}} \right)}}} \\ {= \sigma_{n_{0\;}}^{2}} \end{matrix}$

In one or more embodiments, two alternative methods may be used for linear regression: linear regression with colored noise, and Bayesian linear regression. In the embodiment using linear regression with colored noise, when the correlation of phase estimation noise is considered, the log-likelihood of {n_(φ)(k)} becomes F(Δf,θ′₀)=({circumflex over (φ)}−Δfk−θ′₀)^(T)R_(n) _(φ) ⁻¹({circumflex over (φ)}−Δfk−θ′₀), where bold variables comprise matrices or vectors:

R _(n) _(φ) ⁻¹=(r _(n) _(φ) (k,k−1))_(k,k-1),{circumflex over (φ)}={φ(k)|k=0, . . . , L−1},k={k|k=0, . . . , L−1}

and θ′₀=θ₀−⅛

From ∂F(Δf,θ′₀)/θΔf=0 and ∂F(Δf,θ′₀)/∂θ′₀=0, one obtains the matrix equations:

$\begin{bmatrix} {\Delta \; f} \\ \theta_{0} \end{bmatrix} = {{\begin{bmatrix} {k^{T}R_{n_{\phi}}^{- 1}k} & {k^{T}R_{n_{\phi}}^{- 1}i_{n \times 1}} \\ {i_{n \times 1}^{T}R_{n_{\phi}}^{- 1}k} & {i_{n \times 1}^{T}R_{n_{\phi}}^{- 1}i_{n \times 1}} \end{bmatrix}^{- 1}\begin{bmatrix} {k^{7}R_{n_{\phi}}^{- 1}\hat{\phi}} \\ {i_{n \times 1}^{T}R_{n_{\phi}}^{- 1}\hat{\phi}} \end{bmatrix}} + \begin{bmatrix} 0 \\ {1/8} \end{bmatrix}}$

This formula replaces formulas (10), (11), (12), (13), and (14), previously described.

When prior information of Δf and θ′₀ is available, or the information has been adaptively learned real time, Bayesian linear regression may be employed. The likelihood function of the preliminary phase offset estimate is given by:

l(f,θ′ ₀;{circumflex over (φ)})=p({circumflex over (φ)}|Δf,θ′ ₀)=(2π)^(−1/2)(detR _(n) _(φ) )⁻¹exp(−({circumflex over (φ)}−Δfk−θ′ ₀)^(T) R _(n) _(φ) ⁻¹({circumflex over (φ)}−Δfk−θ′_(D))/2)

The preceding equation uses a Gaussian distribution for Δf and an even distribution results for θ′₀;

${{p_{{\Delta \; \hat{f}},{\hat{\theta}}_{0}}\left( {{\Delta \; f},\theta_{0}^{\prime}} \right)} = {\frac{1}{\sqrt{2\pi}\sigma_{\Delta \; f}}{{\exp \left( {- \frac{\left( {\Delta \; f} \right)^{2}}{\sigma_{\Delta \; f}^{2}\;}} \right)} \cdot {p_{{\hat{\theta}}_{0}}\left( \theta_{0}^{\prime} \right)}}}},$

where

$p_{{\overset{\sim}{\theta}}_{0}} = \left\{ \begin{matrix} 1 & {{\theta_{0}^{\prime}} < \frac{1}{2}} \\ 0 & {{\theta_{0}^{\prime}}>=\frac{1}{2}} \end{matrix} \right.$

is the probability density function of the initial phase offset.

Thus, Bayesian estimation of Δf is defined as:

$\begin{matrix} {{\Delta \; \hat{f}} = \frac{\int_{\theta_{0}^{\prime}}{\int_{\Delta \; f}{{l\left( {f,{\theta_{0}^{\prime};\hat{\phi}}} \right)}{{p_{{\Delta \; \hat{f}},{\hat{\theta}}_{0}}\left( {{\Delta \; f},\theta_{0}^{\prime}} \right)} \cdot \Delta}\; f\ {\Delta}\; f\ {\theta_{0}^{\prime}}}}}{\int_{\theta_{0}^{\prime}}{\int_{\Delta \; f}{{l\left( {f,{\theta_{0}^{\prime};\hat{\phi}}} \right)}{{p_{{\Delta \; \hat{f}},{\hat{\theta}}_{0}}\left( {{\Delta \; f},\theta_{0}^{\prime}} \right)} \cdot \ {\Delta}}\; f\ {\theta_{0}^{\prime}}}}}} \\ {= \frac{\int_{\theta_{0}}{\left\lbrack {\int_{\Delta \; f}{{\exp \left( {a + {b\; \Delta \; f} + {\left( {c + h} \right)\left( {\Delta \; f} \right)^{2}}} \right)}\Delta \; {f \cdot \ {\Delta}}\; f}} \right\rbrack \  \cdot {\theta_{0}^{\prime}}}}{\int_{\theta_{0}^{\prime}}{\int_{\Delta \; f}{{{\exp \left( {a + {b\; \Delta \; f} + {\left( {c + h} \right)\left( {\Delta \; f} \right)^{2}}} \right)} \cdot \ {\Delta}}\; f\ {\theta_{0}^{\prime}}}}}} \end{matrix}$ where a = −(ϕ − θ₀^(′))^(T)R_(n_(ϕ))⁻¹(ϕ̂ − θ₀^(′))/2 b = k^(T)R_(n_(ϕ))⁻¹(ϕ̂ − θ₀^(′)) c = −k^(T)R_(n_(ϕ))⁻¹k/2 $h = {- \frac{1}{2\sigma_{\Delta \; f}^{2}}}$

In a representative embodiment, mathematical approximation (σ₀ ²<<1) yields the following concise formulations:

Δ{circumflex over (f)}=f{circumflex over (φ)}

$f = {{- \frac{k^{T}R_{n_{\phi}}^{- 1}}{2\left( {c + h} \right)}}\left( {l_{n \times n} + \frac{R}{i_{1 \times n}{Ri}_{n \times 1}}} \right)}$ $R = {R_{n_{\phi}}^{- 1} + \frac{R_{n_{\phi}}^{- 1}{kk}^{T}R_{n_{\phi}}^{- 1}}{2\left( {c + h} \right)}}$

In the event that σ₀ ² is stable in different sections, one or more old a σ₀ ² values may be used to calculate f in advance. In the event f varies in different sections, σ₀ ² may be estimated in real-time and the formula may require a small adjustment yielding:

${{\Delta \; \hat{f}} = \frac{{f_{1}\hat{\phi}} + {\gamma \; f_{2}\hat{\phi}}}{f_{3} + {\gamma \; f_{4}} + {\gamma^{2}f_{5}}}},{\gamma = \frac{\sigma_{0}^{2}}{\sigma_{\Delta \; f}^{2}}},$

wherein f₁, f₂, f₃, f₄, f₅, are constants.

While the invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims. 

1-37. (canceled)
 38. A method of estimating gain or amplitude of a data stream that is read from a hard disk drive comprising: receiving a plurality of digitized samples from reading a preamble field of a sector of a hard drive; determining a sine component for each of said plurality of digitized samples; determining a cosine component for each of said plurality of digitized samples; computing a sum of squares of said sine and cosine components; and computing a square root of said sum to generate said gain or amplitude.
 39. The method of claim 38 wherein said preamble field contains less than 15 bytes of data.
 40. The method of claim 38 wherein said preamble field contains 6 bytes of data.
 41. The method of claim 38 wherein said preamble field precedes a sync field, said sync field used to notify or indicate that a data field immediately follows said sync field.
 42. The method of claim 38 wherein said plurality of digitized samples equals 8 digitized samples.
 43. The method of claim 42 wherein said plurality of digitized samples represents two periods of a sinusoidal waveform.
 44. A system for estimating gain or amplitude of data that is read from a hard disk drive, said system comprising: at least one circuitry operative for, at least: receiving a plurality of digitized samples from reading a preamble field of a sector of a hard drive; determining a sine component for each of said plurality of digitized samples; determining a cosine component for each of said plurality of digitized samples; computing a sum of squares of said sine and cosine components; and computing a square root of said sum to generate said gain or amplitude.
 45. The system of claim 44 wherein said preamble field contains less than 15 bytes of data.
 46. The system of claim 44 wherein said preamble field contains 6 bytes of data.
 47. The system of claim 44 wherein said preamble field precedes a sync field, said sync field used to notify or indicate that a data field immediately follows said sync field.
 48. The system of claim 45 wherein said plurality of digitized samples equals 8 digitized samples.
 49. The system of claim 48 wherein said plurality of digitized samples represents two periods of a sinusoidal waveform.
 50. A system for estimating gain or amplitude of data that is read from a hard disk drive, said system comprising: a memory for storing a set of executable instructions; a processor for executing said executable instructions, wherein said executing performs: receiving a plurality of digitized samples from reading a preamble field of a sector of a hard drive; determining a sine component for each of said plurality of digitized samples; determining a cosine component for each of said plurality of digitized samples; computing a sum of squares of said sine and cosine components; and computing a square root of said sum to generate said gain or amplitude.
 51. The system of claim 50 wherein said preamble field contains less than 15 bytes of data.
 52. The system of claim 50 wherein said preamble field contains 6 bytes of data.
 53. The method of claim 50 wherein said preamble field precedes a sync field, said sync field used to notify or indicate that a data field immediately follows said sync field.
 54. The method of claim 50 wherein said plurality of digitized samples equals 8 digitized samples.
 55. The method of claim 54 wherein said plurality of digitized samples represents two periods of a sinusoidal waveform.
 56. A method for optimizing performance of a hard drive by synchronizing a read channel receiver of said hard drive to a data stream that is read, said method comprising: receiving a plurality of digitized samples from reading a preamble field of a sector of a hard drive; first determining a sine component for each of said plurality of digitized samples; second determining a cosine component for each of said plurality of digitized samples; dividing said cosine component with said sine component to generate a quotient; computing an arctangent of said quotient to generate a preliminary phase estimate of each of said plurality of digitized samples; using at least two of said plurality of digitized samples to generate at least two preliminary phase estimates based on said first determining, second determining, dividing, and computing; generating a frequency offset and a phase offset by applying linear regression to said at least two preliminary phase estimates and an integer variable, said integer variable used for indexing each of said plurality of digitized samples; and using said frequency offset and said phase offset to perform said synchronizing.
 57. The method of claim 56 wherein said preamble field contains less than 15 bytes of data.
 58. The method of claim 56 wherein said preamble field contains 6 bytes of data.
 59. The method of claim 56 wherein said preamble field precedes a sync field, said sync field used to notify or indicate that a data field immediately follows said sync field.
 60. The method of claim 56 wherein said plurality of digitized samples equals 8 digitized samples.
 61. The method of claim 60 wherein said plurality of digitized samples represents two periods of a sinusoidal waveform.
 62. A system for optimizing performance of a hard drive by synchronizing a read channel receiver of said hard drive to a data stream that is read, said system comprising: at least one circuitry operative for, at least: receiving a plurality of digitized samples from reading a preamble field of a sector of a hard drive; first determining a sine component for each of said plurality of digitized samples; second determining a cosine component for each of said plurality of digitized samples; dividing said cosine component with said sine component to generate a quotient; computing an arctangent of said quotient to generate a preliminary phase estimate of each of said plurality of digitized samples; using at least two of said plurality of digitized samples to generate at least two preliminary phase estimates based on said first determining, second determining, dividing, and computing; generating a frequency offset and a phase offset by applying linear regression to said at least two preliminary phase estimates and an integer variable, said integer variable used for indexing each of said plurality of digitized samples; and using said frequency offset and said phase offset to perform said synchronizing.
 63. The system of claim 62 wherein said preamble field contains less than 15 bytes of data.
 64. The system of claim 62 wherein said preamble field contains 6 bytes of data.
 65. The system of claim 62 wherein said preamble field precedes a sync field, said sync field used to notify or indicate that a data field immediately follows said sync field.
 66. The system of claim 62 wherein said plurality of digitized samples equals 8 digitized samples.
 67. The system of claim 66 wherein said plurality of digitized samples represents two periods of a sinusoidal waveform. 